var UserHandler = {
    newAdd:function(){
    	$("input[name='username']").val("");
    	$("input[name='email']").val("");
    	$("input[name='password']").val("");
    	$("input[name='pwd']").val("");
    	$("input[name='enabled']").val("");
    	$("#table").hide();
      	$("#detail").show();
    },
    cancel: function () {
    	$("#detail").hide();
      	$("#table").show();
    },
    save: function(){
    	var username = $("input[name='username']").val();
    	var email = $("input[name='email']").val();
    	var password = $("input[name='password']").val();
    	var pwd = $("input[name='pwd']").val();
    	var enabled = $("input[name='enabled']").val();
    	$.ajax({
			type: "POST",
			url: "save",
			contentType: "application/json;charset=UTF-8",
		    data: JSON.stringify({
		    	"username":username,
		    	"email":email,
		    	"password":password,
		    	"pwd":pwd 
			}),
		    success: function(r){
				if(r && r.success){
					alert(r.msg, function(index){
					UserHandler.reload("reloadGrid");
					$("#detail").hide();
			      	$("#table").show();
				});
				}else{
					if(r.data){
						alert(r.data);
					}else{
						alert(r.msg);
					}
				}
			}
		});
    	
    },
	query:function(){
		UserHandler.reload();
	},
	del:function(ids){
		if(ids == null){
			return;
		}
		confirm('确定要删除选中的记录？', function(){
			$.ajax({
				type: "POST",
				url: "bantchDel",
			    data: {
			    	usernames:ids
				},
			    success: function(r){
					if(r.success){
						alert('操作成功', function(index){
							$("#jqGrid").trigger("reloadGrid");
						});
					}else{
						alert(r.msg);
					}
				}
			});
		});
	},
	refresh:function(){
		$("#jqGrid").trigger("reloadGrid");
	},
	reload: function () {
		var keyword = $("#keyword").val();
		var filterTime = $('#filterTime').val();
		var page = $("#jqGrid").jqGrid('getGridParam','page');
		$("#jqGrid").jqGrid('setGridParam',{
			postData:{
					'email': keyword,
					'username': keyword,
//					'filterTime': filterTime
				},
			page:page
		}).trigger("reloadGrid");
	}
};
$(function () {
	// 过滤时间
	$('#filterTime').daterangepicker({
		autoUpdateInput:false,//初始值为空
        autoApply:false,
        singleDatePicker:false,
        showDropdowns:false,        // 是否显示年月选择条件
		timePicker: true, 			// 是否显示小时和分钟选择条件
		timePickerIncrement: 10, 	// 时间的增量，单位为分钟
        timePicker24Hour : true,
        opens : 'left', //日期选择框的弹出位置
		ranges: {
			'最近1小时': [moment().subtract(1, 'hours'), moment()],
			'今日': [moment().startOf('day'), moment().endOf('day')],
			'昨日': [moment().subtract(1, 'days').startOf('day'), moment().subtract(1, 'days').endOf('day')],
			'最近7日': [moment().subtract(6, 'days'), moment()],
			'最近30日': [moment().subtract(29, 'days'), moment()],
			'本月': [moment().startOf('month'), moment().endOf('month')],
			'上个月': [moment().subtract(1, 'month').startOf('month'), moment().subtract(1, 'month').endOf('month')],
			'三个月前': [moment().subtract(3, 'month').startOf('month'), moment()],
			'半年前': [moment().subtract(6, 'month').startOf('month'), moment()],
			'一年前': [moment().subtract(12, 'month').startOf('month'), moment()]
		},
        locale : {
            format: 'YYYY-MM-DD HH:mm:ss',
            separator : ' 至 ',
        	customRangeLabel : '自定义',
            applyLabel : '确定',
            cancelLabel : '取消',
            fromLabel : '起始时间',
            toLabel : '结束时间',
            daysOfWeek : [ '日', '一', '二', '三', '四', '五', '六' ],
            monthNames : [ '一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月' ],
            firstDay : 1
        },
//        startDate: moment().subtract(12, 'month').startOf('month'),
//        endDate: moment()
	});
	
    $("#jqGrid").jqGrid({
        url: 'page-list',
        datatype: "json",
        colModel: [			
//			{ label: 'ID', name: 'id', index: 'id', width: 60 },
			{ label: '用户名', name: 'username', width: 60 , key: true}, 		
			{ label: '默认角色', name: 'defaultRole', width: 60 }, 			
			{ label: '邮箱', name: 'email', index: 'email', width: 60 }, 			
			{ label: '是否启用', name: 'enabled', index: 'enabled', width: 60 } 			
        ],
		viewrecords: true,
        height: 600,
        rowNum: 10,
		rowList : [10,30,50],
        rownumbers: true, 
        rownumWidth: 25, 
        autowidth:true,
        multiselect: true,
        pager: "#jqGridPager",
        jsonReader : {
            root: "list",
            page: "currPage",
            total: "totalPage",
            records: "totalCount"
        },
        prmNames : {
            page:"page", 
            rows:"limit", 
            order: "order"
        },
        styleUI : "Bootstrap",
        gridComplete:function(){
        	//隐藏grid底部滚动条
        	$("#jqGrid").closest(".ui-jqgrid-bdiv").css({ "overflow-x" : "hidden" }); 
        },
        beforeSelectRow: function(rowId, e) { 
        	if($(e.target).is("input[type='checkbox']") && $(e.target).prop("checked")){
        		$(e.target).parent().parent().addClass("success");
        		$("#jqGrid").getGridParam("selarrrow").push(rowId);
        		return true; 
        	}else if($(e.target).is("input[type='checkbox']") && !$(e.target).prop("checked")){
        		$(e.target).parent().parent().removeClass("success");
        		removeByValue($("#jqGrid").getGridParam("selarrrow"),rowId);
        		return true; 
        	}
        	return true; 
        },
    });
});